iT邦幫忙

2022 iThome 鐵人賽

DAY 6
0

Cloud SQL上的安全措施

在前一章節上,如果主機有必要讓外部進行連線,除了使用安全連線(已授權網路)外,接下來會介紹另一個可以保護SQL主機的方式 ,僅允許SSL安全連線。

需要注意:因為每次變動安全性設定時 Cloud SQL都需要重新啟動(時間大概一分鐘內)
https://ithelp.ithome.com.tw/upload/images/20220921/20152578yORDwZVBXj.png

建立用戶憑證後(要記得點擊下載server-ca&client-cert&client-key三個PEM檔案)
https://ithelp.ithome.com.tw/upload/images/20220921/20152578Zbh7R5CFk6.png

使用pgAdmin 設定SSL連線Cloud SQL

PostgresSQL Client GUI Tools首選就是同樣就是社群在維護的pgAdmin,當下Windows最新版本為pgAdmin 4 v6.13

帳號密碼進行連線

我們直接用帳號密碼進行連線,會出現無法連線的錯誤訊息,此時會有兩列錯誤訊息,第二列訊息很像是連線IP沒有被設定進pg_hba.conf中,但是第一行很明白告訴使用者 需要有有效的Client端憑證,原因就是為了安全,在CloudSQL上開啟必須用SSL連線的設定。
https://ithelp.ithome.com.tw/upload/images/20220921/20152578V4GZcv22L0.png
將SSL憑證放到pgAdmn中,如下圖所示
https://ithelp.ithome.com.tw/upload/images/20220921/20152578WHg61jpMVr.png
之後按下SAVE按鍵,就能夠順利連線到Cloud SQL。

PEM轉DER的方法

在Java開發上,PEM憑證並沒有支援,因此需要透過第三方套件將PEM的憑證轉成DER的憑證,操作如下:

openssl pkcs8 -topk8 -inform PEM -outform DER -in your-key.pem -out your-key.pk8
chmod 600 your-key.pk8

小結

在建置WEB服務時,資料庫可以比喻成人體的大腦,儲存了很多重要的資訊(EX:用戶資料、訂單資料…etc)。因Cloud SQL with PostgresSQL服務是建置在預設的5432 Port上,如果有開啟外部連線,很容易受到外部攻擊。在這邊我們演示加強安全規範的SSL連線方法啟用方式,並提供PEM轉換DER檔案示範,解決JAVA WEB程式初始憑證檔案,連線Cloud SQL需求,供有相同需求的開發者參考。


上一篇
[Day5] GCP WAF(Cloud Armor)介紹
下一篇
[Day7] Load Balancer (一)
系列文
Google商家大解密就靠網頁設計來加成30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言